home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Netware Super Library
/
Netware Super Library.iso
/
nov_info
/
nw386
/
reliab-8.386
< prev
next >
Wrap
Text File
|
1989-07-24
|
8KB
|
208 lines
Chapter 8
System Reliability
This section on system reliability includes discussions
of the the following NetWare 386 features:
■ Transaction Tracking System (TTS)
■ System Fault Tolerance (SFT)
Transaction Tracking System (TTS)
The NetWare Transaction Tracking System (TTS) protects
database applications from corruption caused when server,
workstation, or network failure interrupts a database
transaction. TTS does this by backing out incomplete
transactions when a network component fails. Backing out
a transaction returns data and index information in the
database to the state it was in before the transaction
began.
Advantages of TTS
TTS is an integral part of NetWare 386 even if you don't
plan to add a multiuser database to your server. It is
valuable because it protects the NetWare bindery and
queuing database files from corruption. Mainframe,
minicomputer, and network database systems have offered
transaction backout capability for some time. In most
cases, however, this capability is implemented as part
of the database application software and not as part of
the operating system.NetWare TTS is implemented at the operating system level
on the server. This method provides two major advantages
over application-level implementation.
First, performance is increased dramatically because
transactions are tracked in the server where file writes
are made. Because of this, less data is transferred
across the network, and all transactions benefit from the
speed of NetWare's disk caching system.
Second, database applications not designed for
transaction backout can have backout capability. When
a database application without backout capability makes
a physical record lock to a database file or a logical
record lock when a database is open, the application
implies to TTS that it is making a transaction. At this
point, TTS begins tracking this implicit transaction so
that it can be backed out if a failure occurs. When the
application releases physical or logical record locks,
it implies to TTS that the transaction is complete. At
this point, TTS will cease tracking the transaction.
Since some database applications leave one or more
records locked at all times (some do this for copy
protection), TTS allows you to set a locking threshold
in the workstation so that an implicit transaction is not
unnecessarily tracked at the first record lock when the
application is started. Setting the locking threshold
prevents having an entire database session tracked as a
single transaction or having too many transactions per
file update.
Three kinds of database applications benefit from TTS:
■ Applications designed with no transaction backout
capability (this is done with implicit
transactions).
■ Applications with built-in transaction backout
capability (for example, Btrieve).
■ Applications that use explicit NetWare TTS calls to
provide transaction backout capability (examples of
explicit transaction calls are "begin," "abort," and
"end").How TTS Works
TTS protects a transaction's data from network failure
by making a copy of the original data before it is
overwritten by new data. If a failure occurs during a
transaction, TTS can back out the transaction (restore
the original data). For example, if the server fails,
TTS can back out the transaction when the server comes
up again. If a workstation or network transmission
component fails, TTS can back out the transaction
immediately.
TTS protects against failure for any type of application
that issues record-locking calls. This includes
applications that store information in records:
traditional databases, some electronic mail applications,
and some workgroup appointment schedulers. Files such
as word processing files that are not organized into
discrete records are not protected by TTS.
The purpose of TTS is to guarantee that all transaction
changes to a file are either wholly completed or not made
at all. For TTS to track transactions on a given file,
you must flag the file as transactional. The following
steps describe how TTS tracks each write within a
transaction:
1)An application writes new data to a file on a
server.
2)The server stores the new data in cache memory. The
target file on the server hard disk is unchanged.
3)The server scans the target file on the server hard
disk, finds the data to be changed (old data), and
copies the old data to cache memory. The server
also records the name and directory path of the
target file and the location and length of the old
data (record) within the file. The target file on
the server hard disk remains unchanged.
4)The server writes the old data in cache memory to
a transaction work file on the server hard disk.
This transaction work file resides at the root level
of a volume on the server. The file is flagged
System and Hidden. The target file on the server
hard disk is still unchanged.
5)The server writes the new data in cache memory to
the target file on the server hard disk. The target
file is now changed.The server repeats these steps for each write within a
transaction, and the transaction work file grows to
accommodate the old data for each write. If the
transaction is interrupted, the server writes the
contents of the transaction work file to the target file,
thereby restoring the file to pretransaction condition.
In effect, the server backs out the transaction.
Enabling and Disabling TTS
TTS is an integral part of NetWare 386 rather than an
optional feature as in previous versions of NetWare.
Although, a server goes through a TTS enabling routine
each time it boots, it is possible to disable TTS.
Enabled
When volume SYS is first mounted, TTS is automatically
enabled if there is enough disk space and memory to allow
transaction tracking. If TTS is ever disabled, you can
enable it with the ENABLE TTS command. If a problem
occurs that disables TTS automatically, you must fix the
problem before you can enable TTS.
Disabled
When volume SYS is full or if the server does not have
enough free memory, TTS is disabled automatically. This
happens immediately after the server boots or after any
server process (including TTS) requests more memory or
disk space than the server has. You can also disable TTS
in two other ways:
■ Dismount the TTS backout volume (usually volume SYS)
■ Issue the DISABLE TTS command.
When TTS is disabled, workstations can still make
transactions in a database, but TTS offers no protection
to the database.System Fault Tolerance (SFT)
NetWare 386 v3.0 supports SFT Levels I and II. SFT Level
I includes the following features:
■ Redundant Tables
■ Read-After-Write Verification
■ Hot Fix I (flagging bad disk allocation blocks and
writing or rewriting data to a redirection area)
SFT Level II includes the following features:
■ Disk Drive Mirroring
■ Disk Channel Mirroring
■ Hot Fix 2 (re-issuing a read request to a mirrored
disk and writing the good data to the redirection
area)
■ Split Seeks On Reads
■ UPS Monitoring
■ Transaction Tracking System.
NetWare 386 v3.1 also adds the Write File Audit (WFA) and
the Transaction Roll Forward (TRF) features to TTS.
Write File Audit maintains a file that records all writes
to a corresponding database file. If the database file
becomes corrupted, Transaction Roll Forward uses the
Write Audit File to rebuild the database file. The
NetWare 386 v3.0 server allows 25,000 concurrent
transactions.